Міністерство освіти Республіки Білорусь
БІЛОРУСЬКИЙ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ
МІЖНАРОДНИЙ ІНСТИТУТ ДИСТАНЦІЙНОГО ОСВІТИ
Група 417315
Контрольна робота
з дисципліни "Основи алгоритмізації та програмування"
Виконав: студент
Перевірила: Попова Ю. Б.
Мінськ 2006
ЗАВДАННЯ № 1
ЗНАЙОМСТВО З середи. ОГОЛОШЕННЯ основних типів даних. Введення / виведення даних. ОПЕРАЦІЇ У МОВІ C / C + +
Мета роботи
Закріплення практичних навичок побудови простої програми, оголошення основних типів даних і організації вводу / виводу змінних, застосування операцій при написанні програм мовою C / C + +.
Постановка завдання
Написати програму обчислення опору електричного кола, що складається з двох паралельно з'єднаних опорів, а потім обчислити опір електричного кола, що складається з двох послідовно з'єднаних опорів.
Лістинг програми на мові C + +
# Include <clx. H>
# Include <iostream. H> / / під'єднання до програми розділу бібліотеки з функціями / / по потокового вводу / виводу даних
void main ()
{/ / Початок функції main ()
int a, b, c, d; / / оголошення змінних a, b, c цілого типу
cout <<"Введіть значення опору a і b:"; / / вивід рядка на екран
cin>> a>> b; / / введення значень a і b
c = a * b; / / множення значень a і b і присвоєння змінної з
d = a + b; / / присвоювання змінної c значення суми змінних a і bc = c / d;
cout <<"Опір кола з подальшим з'єднанням =" <<c; / / вивід значення змінної c на екран c = a + b;
cout <<"Опір кола з паралельним з'єднанням =" <<c; // висновок значення змінної a на екран cin>> a;
Результати роботи програми
Введіть значення змінних: 7 квітня
Результат: 2 і 11
Висновки з лабораторної роботи
У ході виконання завдання була складена схема машинного алгоритму за умовою задачі, написаний код програми і отримані результати роботи програми. В результаті виконання роботи були закріплені практичні навички побудови простої програми на мові програмування C / C + +, в якій були оголошені змінні цілого типу. Організовано введення значень змінних за допомогою оператора потокового введення, проведений розрахунок суми значень змінних і організований вивід результату на екран за допомогою оператора потокового виводу.
ЗАВДАННЯ № 2
ОПЕРАТОРИ МОВИ C / C + +. Форматувати введення / виведення даних. СТРУКТУРИ ВИБОРУ. СТРУКТУРИ ПОВТОРЕННЯ
Мета роботи
Закріплення практичних навичок побудови програми на мові C / C + + з використанням структур вибору if - else, switch, з використанням структур повторення do - while, while, for, а також з організацією введення / виведення даних із застосуванням функцій форматованого вводу / виводу.
Постановка завдання
Написати програму обчислення площі кільця. Програма повинна перевіряти правильність вихідних даних. Використовувати структуру вибору if - else. Використовувати форматований введення / виведення даних.
Лістинг програми на мові C + +
# Include <clx.h>
# Include <iostream.h>
void main ()
{Int n, x;
cout <<"Введіть значення кільця:" <<endl;
cin>> n;
x = 3.14;
if (n <0) cout <<"Значення не вірні"; / / якщо значення умови (n <0) є істинним, на екран виводиться текст Значення не вірні
else if (n> 0) cout <<x * n * n;
}
Результати роботи програми
Введіть значення змінних: 0
Результат: Значення не вірні
Введіть значення змінних: 4
Результат: 48
Висновки з лабораторної роботи
В результаті виконання роботи були закріплені практичні навички побудови простої програми на мові програмування C / C + +, в якій були оголошені змінні цілого типу. Організовано введення значень змінних за допомогою оператора потокового введення, проведений розрахунок суми значень змінних і організований вивід результату на екран за допомогою оператора потокового виводу а також використовувалася структуру вибору if - else.
ЗАВДАННЯ № 3
МАСИВИ І ПОКАЖЧИКИ У C / C + +
Мета роботи
Закріплення практичних навичок побудови програми на мові C / C + + з використанням масивів даних і змінних типу покажчик.
Постановка завдання
Написати програму, яка перевіряє, чи становлять елементи введеного з клавіатури масиву зростаючу послідовність. Використовувати форматований введення-виведення даних.
Лістинг програми на мові C + +
# Include <clx.h>
# Include <iostream.h>
# Include <stdio.h>
void main ()
{
int i, a;
int mas [5]; / / оголошення масиву mas
printf ("Введіть елементи масиву \ n");
for (i = 0; i <5; i + +) / / використання вкладеної структури повторення for для
{
scanf ("% d", & mas [i]); / / заносимо значення в масив
a = mas [0];
}
printf ("Висновок елементів масиву \ n");
for (i = 0; i <5; i + +) / / використання вкладеної структури повторення for для
{
printf ("% d", mas [i], "\ n"); / / вивід суми елементів масиву mas на екран
}
for (i = 1; i <4; i + +) / / використання вкладеної структури повторення for для if (i + + <a) cout <<"Масив не є зростаючою послідовністю";
/ / Використання else - if конструкції
}
Результати роботи програми
Введіть значення: 7 квітень 5 6 8
Результат: 4 7 5 6 8 мас не є зростаючою послідовністю
Висновки з лабораторної роботи
У ході виконання завдання була складена схема машинного алгоритму за умовою задачі, написаний код програми і отримані результати роботи програми. В результаті виконання роботи були закріплені практичні навички побудови простої програми на мові програмування C / C + +, в якій були оголошений масив MAS. Організовано введення значень змінних за допомогою оператора потокового введення, проведений розрахунок значень масиву на зростаючу послідовність і організований вивід результату на екран за допомогою оператора потокового виводу.
ЗАВДАННЯ № 4
ФУНКЦІЇ У C / C + +. ПОКАЖЧИКИ НА ФУНКЦІЇ. ПЕРЕВАНТАЖЕННЯ ФУНКЦІЙ. ШАБЛОНИ ФУНКЦІЙ
Мета роботи
Закріплення практичних навичок побудови програми на мові C / C + + з використанням функцій, покажчиків на функції, масивів покажчиків на функції, рекурсивних функцій, функцій зі списком змінної довжини, параметрів, використовуваних за замовчуванням, аргументів командного рядка, вбудованих функцій, перевантажених функцій і шаблонів функцій.
Постановка завдання
Написати програму, в якій необхідно визначити масив покажчиків на функції. Вводити цифру, визначальну яку функцію треба виконати: 0-знайти мінімальне число, 1-віднайти максимальну кількість, 2-обчислити суму чисел, 3-обчислити різницю чисел, 4-знайти твір чисел, 5-знайти приватне чисел, 6-завершити роботу. Виконати відповідну функцію, використовуючи вказівник на неї, і вивести результати на екран. У програмі передбачити використання прототипу функції.
Лістинг програми на мові C + +
//------------------------------------------------ ---------------------------
# Include <clx.h>
# Include <stdio.h>
# Include <iostream.h>
void fun1 (int);
void fun2 (int);
void fun3 (int);
void fun4 (int);
void fun5 (int);
void fun6 (int);
main ()
{
void (* F [6]) (int) = {fun1, fun2, fun3, fun4, fun5, fun6}; / / оголошення масиву покажчиків * F [6] на
/ / Функції і ініціалізація його іменами функцій
int choice;
printf ("ВВЕДІТЬ НОМЕР ВІД 0 do 5, 6 ДЛЯ Закритий");
scanf ("% d", & choice);
while (choice> = 0 & & choice <6)
{(* F [choice]) (choice); / / виклик функції за допомогою разименованія
/ / Покажчика на функцію. Покажчик на функцію вибирається за індексом choice
/ / Викликаної функції в якості аргументу передається змінна choice
printf ("ВВЕДІТЬ НОМЕР ВІД 0 do 5, 6 ДЛЯ Закритий");
scanf ("% d", & choice);
}
printf ("Введено 6 для завершення");
return 0;
}
void fun1 (int a)
{
int i, s, m;
int mas [5];
m = 99; / / максимальне число
for (i = 0; i <5; i + +)
scanf ("% d", & mas [i]); / / використання структури повторення do while
if (i <m) m = i;
printf ("Min:% d", m);
}
/ / Обчислення суми чмсел
void fun 2 (int b)
{
int a;
int m; / / максимальне число
puts ("Введіть числа. Для завершення ведіть 0:");
m = 0;
do {scanf ("% d", & a); / / використання структури повторення do while
if (a> m) m = a; / / тіло циклу виконується поки значення умови (a> 0)
} While (a> 0); / / є істина
printf ("Максимальне число:% d", m);
}
void fun 3 (int c)
{
int a, b, x; / / оголошення змінних a, b, c цілого типу
cout <<"Введіть значення змінних a і b:"; / / вивід рядка на екран
cin>> a>> b; / / введення значень a і b
x = a + b; / / присвоювання змінної c значення суми змінних a і b
cout <<"Сума =" <<x;
}
void fun4 (int d)
{Int a, b, x; / / оголошення змінних a, b, c цілого типу
cout <<"Введіть значення змінних a і b:"; / / вивід рядка на екран
cin>> a>> b; / / введення значень a і b
x = a - b; / / присвоювання змінної c значення суми змінних a і b
cout <<"Сума =" <<x;}
void fun5 (int e)
{Int a, b, x; / / оголошення змінних a, b, c цілого типу
cout <<"Введіть значення змінних a і b:"; / / вивід рядка на екран
cin>> a>> b; / / введення значень a і b
x = a * b; / / присвоювання змінної c значення суми змінних a і b
cout <<"Сума =" <<x;}
void fun6 (int r)
{Printf ("Введено% d для виклику функції fun 3 \ n", r);}